package com.hellogood.yaohuo.server.dao;

import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;

import org.apache.log4j.Logger;

import com.hellogood.yaohuo.server.db.DBHelper;
import com.hellogood.yaohuo.shared.entity.YhDetail;

public class YhDetailDAO extends DBHelper {
	Logger log = Logger.getLogger(this.getClass());

	@Override
	public List<?> initializeObject(ResultSet rs) throws SQLException {
		List<YhDetail> yhDetailList = new ArrayList<YhDetail>();
		if (rs != null) {
			while (rs.next()) {
				YhDetail yhDetail = new YhDetail();
				yhDetail.setYhBillNo(rs.getString("yhBillNo"));
				yhDetail.setPluCode(rs.getString("pluCode"));
				yhDetail.setBarCode(rs.getString("barCode"));
				yhDetail.setBra(rs.getString("bra"));
				yhDetail.setColor(rs.getString("color"));
				yhDetail.setPluName(rs.getString("pluName"));
				yhDetail.setSize(rs.getString("CSize"));
				yhDetail.setjPrice(rs.getBigDecimal("jPrice"));
				// yhDetail.setNetPrice(rs.getFloat("netPrice"));
				yhDetail.setPrice(rs.getBigDecimal("price"));
				yhDetail.setCounts(rs.getInt("counts"));
				yhDetail.setCost(rs.getBigDecimal("cost"));
				yhDetail.setNetCost(rs.getBigDecimal("netCost"));
				yhDetail.setTotal(rs.getBigDecimal("total"));
				yhDetail.setTimeMark(rs.getString("timeMark"));
				yhDetail.setRzDate(rs.getString("rzDate"));
				yhDetail.setRemark(rs.getString("remark"));
				yhDetail.setOrgCode(rs.getString("orgCode"));
				yhDetail.setDepCode(rs.getString("depCode"));
				yhDetailList.add(yhDetail);
			}
		}
		return yhDetailList;
	}

	@SuppressWarnings("unchecked")
	public List<YhDetail> getDetailByBillNo(String billNo) {
		List<YhDetail> list = new ArrayList<YhDetail>();
		String sql = "SELECT * FROM yhDetail WHERE yhBillNo = '" + billNo + "'";
		list = (List<YhDetail>) super.query(sql);
		return list;
	}

	@SuppressWarnings("unchecked")
	public List<YhDetail> searchDetail(String orgCode, String date) {
		List<YhDetail> list = new ArrayList<YhDetail>();
		String sql = "SELECT * FROM yhDetail WHERE orgCode in (" + orgCode + ") AND (rzDate IS NULL OR rzDate = '') AND CONVERT (120, timeMark) <= '"
				+ date + "'";
		list = (List<YhDetail>) super.query(sql);
		return list;
	}

	@SuppressWarnings("unchecked")
	public List<YhDetail> getYaohuohuizong(String quyuCode, String date) {
		List<YhDetail> list = new ArrayList<YhDetail>();
		// String sql = "select * from qyorg q,yhdetail d where q.qycode = '" +
		// quyuCode + "' and d.orgCode = q.orgCode and createTime <= '" + date +
		// "' and isShenhe = 0";
		String sql = "select distinct d.* from qyorg q, yhdetail d,yhform f where f.yhbillno = d.yhbillno and f.orgcode = q.orgcode and f.yhDate <= '"
				+ date + "' and q.qycode = '" + quyuCode + "' and f.status = 0 AND f.rzDate <> ''";
		if (quyuCode.equals("美季")) {
			sql = "select distinct d.* from qyorg q, yhdetail d,yhform f where f.yhbillno = d.yhbillno and f.orgcode = q.orgcode and f.yhDate <= '"
					+ date + "' and f.status = 0 AND f.rzDate <> ''";
		}
		list = (List<YhDetail>) super.query(sql);
		return list;
	}
}
